home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr53
/
122_01.zip
/
SYSVARS
< prev
next >
Wrap
Text File
|
1993-06-02
|
8KB
|
224 lines
SYSTEM VARIABLES (Pointers to memory locations)
copyright (C) 1983 by E. E. Bergmann
definitions in alphabetical(ASCII) order
:
::
*********************************************************
* *
* PISTOL-Portably Implemented Stack Oriented Language *
* Version 2.0 *
* (C) 1983 by Ernest E. Bergmann *
* Physics, Building #16 *
* Lehigh Univerisity *
* Bethlehem, Pa. 18015 *
* *
* Permission is hereby granted for all reproduction and *
* distribution of this material provided this notice is *
* included. *
* *
*********************************************************
:
::
{unless specified otherwise, pointers are to RAM locations}
#GET-ADDR Assigned the address of #GETLINE (which is
later UNLINKed) which is defined in PISTOL to
take the line number that is on top of stack,
locate the line (in the edit buffer) and copy
it into LINEBUF where it can be accessed
subsequently by the PISTOL compiler.
#LINES After PISTOL accepts input for compilation, the
variable is reset to 0. As each line is output
this variable is incremented and compared with
the current value of TERMINAL-PAGE; if equal
input from the user (typically a carriage
return) is used to cause a pause in the output
scrolling. At this point, any input character
will cause #LINES to be reset to 0. If the
input character is a 'Q', the current activity
is ABORTed.
(PISTOL<) Variable that contains pointer to most recent
definition in the PISTOL< vocabulary branch;
see PISTOL<, below.
(UNLINKED<) Variable that contains pointer to most recent
definition in the UNLINKED< vocabulary branch;
see UNLINKED<, below.
.C Used during compilation to point to where the
next word token will be placed in the compile
buffer.
.D The "dictionary pointer"; Its value points to
the next available word address at the end of
the dictionary in RAM. It advances as a result
of each new definition.
.V --> (pointer to top of vocabulary stack)
It is the vocabulary stack pointer.
ABORT-PATCH Normally contains FALSE, but may be assigned
the address of a routine that should be
performed after a standard ABORT.
BRANCH-LIST Each time a BRANCH definition is created it is
added to the head of a threaded list of
vocabulary branches. BRANCH-LIST points to the
most recently defined branch.
COLUMN Variable that contains the column number that
the console is at during output. It is reset
to 0 whenever a NEWLINE character is output.
During output to the console if the value of
COLUMN becomes equal to the value of
TERMINAL-WIDTH then a new line is begun.
COMPILE-END-PATCH
Normally has the value of FALSE. It may be
assigned the address of a proceedure to be
invoked after every compilation, prior to
the normal execution of the compile buffer.
It is used, for example, in SHOWCODE, to cause
the contents of the compile buffer to be
displayed prior to execution.
CONSOLE Boolean variable that will prevent output
to the user's terminal if it is set to FALSE.
Probably would be used in connection with
writing lengthy output to the listfile when
there is no desire to have this information
presented to the user's console as well.
CONVERT-PATCH Normally holds FALSE but may be patched with
the address of a routine that would be invoked
in the event the compiler cannot decipher the
input token (cannot FIND it, cannot convert it
into a numerical value, nor be able to
recognize it as a quoted string). It has
potential application to providing floating
point number recognition and/or special number
bases, e.g.: 0A000H or 0xA000.
CURRENT Variable containing pointer to vocabulary
branch into which the next word definition
will be placed. Normally, this pointer points
at the last definition.
CURRENT-EOSTRINGS
"current end of strings" points to the end of
strings that have been created during the most
recent compilation, which, generally have
pointers to them on stack. The area in strings
between OLD-EOSTRINGS and CURRENT-EOSTRINGS
will be recycled during the next compilation
because compilation starts by resetting the
CURRENT-EOSTRINGS to the OLD-EOSTRINGS.
Strings are made "permanent" by advancing the
OLD-EOSTRINGS to the CURRENT-EOSTRINGS.
ECHO Boolean variable which, when set TRUE, causes
whatever PISTOL code that is being LOADed to be
listed as it is being compiled.
INPUTFILE-STATUS
Contains the status of the file being input by
the editor (opened by OPENR). If its value is
0, the file has just been opened. If positive,
it is a count of the number of lines read so
far. If -1, no file has been opened or: if
negative, the number of lines read (magnetude)
and the file is in an eof condition.
INFILE Does not contain 0 when LOADing from a file
or from the edit buffer. Contains pointer to
original (temporary) filename string if
inputing from a file. If input is from the
edit buffer, its contents is the current line
number. INFILE contains 0 [false] when
interpreting from the console keyboard.
LIST Boolean variable when true causes the system
to output everything that would go to the
user's console to the listfile as well. (see
LISTFILE in i/o).
NEXTCH^ Pointer to the next character in LINEBUF (in
the strings area) that is to be compiled.
This variable is used by the compiler but is
potentially useful for routines that might be
written in PISTOL to extend the compiler.
OLD-EOSTRINGS Pointer-to-character variable that points to
the first character location beyond the last
"permanent" string. See the above discussion
for CURRENT-EOSTRINGS.
OLDLINE# Holds the number of the numbered line last
located. Although primarily used to speed
searching for successively numbered lines,
it may prove useful to find out which numbered
line was last found prior to the compiler
quitting.
OUTPUT-STATUS Indicates status of file for editor's output
(file opened by OPENW). If value is +1, no
file has been opened yet, or it has been
logically closed. If the value is 0, the file
has just been opened, but not yet used. If
negative, it's magnetude is the count of the
number of lines written to the file so far.
PREVIOUS Variable that contains the address of the
previous link to the definition last found
by FIND or VFIND. It is used by UNLINK and
RELINK to obtain the link to the item searched
for.
PROMPT-PATCH Patch location to place address of replacement
procedure for standard prompt.
RADIX Contains currentt number base used for i/o
number conversions. For example, it is set to
ten for DECIMAL mode.
RADIX-INDICATOR Points to character that should indicate
(during prompt) the current numerical
conversion mode: 'H' for hexadecimal; 'X' for
decimal; 'Q' for octal; and 'B' for binary.
RAISE Boolean variable which causes system to convert
all word tokens and single-quote strings to
upper case.
SYNTAXBASE Points to character count of character string
that serves as the syntax check stack. The
syntax stack can be displayed in the same
manner as the prompt with:
SYNTAXBASE MSG
TAB-SIZE Normally set to 8. It determines the space
between tab stops.
TERMINAL-PAGE Determines number of lines output between
scrolling pauses. See #LINES .
TERMINAL-WIDTH Determines number of characters per line before
automatic newlines. See COLUMN .
TRACE-ADDR Patched with the address of the (TRACE) routine
that is used during TRACE.
TRACE-LEVEL If FALSE no TRACE action is performed. If
positive, determines, level (depth of return
stack) at which TRACE diagnostic information
is displayed. This variable is manipulated by
TRACE and by (TRACE). It should not be
modified by the user directly.
:
or
decim